#!/usr/bin/env node

const fs = require('fs')
const file = process.argv[2] ?? __filename;

try {
    // 1.获取文件字节数
    const stats = fs.statSync(file);
    if (!stats.isFile()) {
      throw new Error('Provided path is not a file or does not exist.');
    }
    const size = stats.size;
  
    // 2.创建一个Buffer来存储文件内容
    const buf = Buffer.alloc(size);
  
    // 3.打开文件，得到文件句柄
    const fd = fs.openSync(file, 'r'); // 同步方法
  
    // 4.读取文件内容到Buffer
    fs.readSync(fd, buf, 0, size, 0);
  
    // 5.将Buffer转换为字符串并打印到控制台
    console.log(buf.toString('utf8'));
  
    // 6.关闭文件
    fs.closeSync(fd);
  } catch (err) {
    console.error(err.message);
  }
